{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "view-in-github"
   },
   "source": [
    "<a href=\"https://colab.research.google.com/github/jermwatt/machine_learning_refined/blob/main/notes/5_Linear_regression/5_7_Probabilistic.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "pOJUfi0H_4ec"
   },
   "source": [
    "## Chapter 5: Linear regression"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This notebook contains interactive content from an early draft of the university textbook <a href=\"https://github.com/neonwatty/machine-learning-refined/tree/main\">\n",
    "Machine Learning Refined (2nd edition) </a>.\n",
    "\n",
    "The final draft significantly expands on this content and is available for <a href=\"https://github.com/neonwatty/machine-learning-refined/tree/main/chapter_pdfs\"> download as a PDF here</a>."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "oZMrkKOR_4ef"
   },
   "source": [
    "# 5.7 The probabilistic perspective on Least Squares linear regression"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "O8bUep1x_4ef"
   },
   "source": [
    "In Section 8.1 we took a *geometric* perspective in deriving the Least Squares linear regression, but one can also think about this kind of regression from a *probabilistic* perspective as well (this is also true of the Least Absolute Deviations cost).  We offer this perspective here.  Note that this requires knowledge of additional probabilistic tools like distributions and maximum likelihood."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "i0IkLA4P_4ef",
    "outputId": "ccbe128b-6aa3-4cc0-b2ec-e779b9c090c0"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: github-clone in /Users/jeremywatt/Desktop/machine-learning-refined/venv/lib/python3.10/site-packages (1.2.0)\n",
      "Requirement already satisfied: requests>=2.20.0 in /Users/jeremywatt/Desktop/machine-learning-refined/venv/lib/python3.10/site-packages (from github-clone) (2.32.3)\n",
      "Requirement already satisfied: docopt>=0.6.2 in /Users/jeremywatt/Desktop/machine-learning-refined/venv/lib/python3.10/site-packages (from github-clone) (0.6.2)\n",
      "Requirement already satisfied: charset-normalizer<4,>=2 in /Users/jeremywatt/Desktop/machine-learning-refined/venv/lib/python3.10/site-packages (from requests>=2.20.0->github-clone) (3.4.0)\n",
      "Requirement already satisfied: idna<4,>=2.5 in /Users/jeremywatt/Desktop/machine-learning-refined/venv/lib/python3.10/site-packages (from requests>=2.20.0->github-clone) (3.10)\n",
      "Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/jeremywatt/Desktop/machine-learning-refined/venv/lib/python3.10/site-packages (from requests>=2.20.0->github-clone) (2.2.3)\n",
      "Requirement already satisfied: certifi>=2017.4.17 in /Users/jeremywatt/Desktop/machine-learning-refined/venv/lib/python3.10/site-packages (from requests>=2.20.0->github-clone) (2024.12.14)\n",
      "\n",
      "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m24.2\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m24.3.1\u001b[0m\n",
      "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n",
      "chapter_5_datasets already cloned!\n",
      "chapter_5_library already cloned!\n"
     ]
    }
   ],
   "source": [
    "# install github clone - allows for easy cloning of subdirectories\n",
    "!pip install github-clone\n",
    "from pathlib import Path \n",
    "\n",
    "# clone datasets\n",
    "if not Path('chapter_5_datasets').is_dir():\n",
    "    !ghclone https://github.com/neonwatty/machine-learning-refined-notes-assets/tree/main/notes/5_Linear_regression/chapter_5_datasets\n",
    "else:\n",
    "    print('chapter_5_datasets already cloned!')\n",
    "\n",
    "# clone library subdirectory\n",
    "if not Path('chapter_5_library').is_dir():\n",
    "    !ghclone https://github.com/neonwatty/machine-learning-refined-notes-assets/tree/main/notes/5_Linear_regression/chapter_5_library\n",
    "else:\n",
    "    print('chapter_5_library already cloned!')\n",
    "\n",
    "# append path for local library, data, and image import\n",
    "import sys\n",
    "sys.path.append('./chapter_5_library')\n",
    "sys.path.append('./chapter_5_datasets') \n",
    "\n",
    "# import section helper\n",
    "import section_5_7_helpers\n",
    "\n",
    "# dataset paths\n",
    "data_path_1 = 'chapter_5_datasets/climate_data.csv'\n",
    "data_path_2 = 'chapter_5_datasets/mother_daughter.csv'\n",
    "\n",
    "\n",
    "# standard imports\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# import autograd-wrapped numpy\n",
    "import autograd.numpy as np\n",
    "\n",
    "# this is needed to compensate for matplotlib notebook's tendancy to blow up images when plotted inline\n",
    "%matplotlib inline\n",
    "from matplotlib import rcParams\n",
    "rcParams['figure.autolayout'] = True\n",
    "\n",
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "e4BhHfd6_4eh"
   },
   "source": [
    "###  Assumption 1: geometric relationship"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "P2GzzVk3_4eh"
   },
   "source": [
    "As we saw in subsection 8.1, to derive Least Squares probablistically we rely on the fundamental assumption that the relationship between input and output variables is (approximately) linear. That is, we have for all $P$ input/output pairs of data that\n",
    "\n",
    "\\begin{equation}\n",
    "\\mathring{\\mathbf{x}}_{p}^T\\mathbf{w} \\approx \\overset{\\,}{y}_{p}.\n",
    "\\end{equation}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "HfdTa6X9_4ei"
   },
   "source": [
    "###  Assumption 2: noise distribution"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "SOc7rJSO_4ei"
   },
   "source": [
    "In addition to the assumed linear relationship,we make an additional assumption on the 'noise' - that is the difference $\\mathring{\\mathbf{x}}_{p}^T\\mathbf{w} - \\overset{\\,}{y}_{p}$.  Denoting the difference between $\\overset{\\,}{y}_{p}$ and $\\mathring{\\mathbf{x}}_{p}^T\\mathbf{w}$ as $\\varepsilon_p$, we can replace our *approximate* equalities with *exact* equalities of the form\n",
    "\n",
    "\\begin{equation}\n",
    "\\mathring{\\mathbf{x}}_{p}^T\\mathbf{w} +\\overset{\\,}{\\varepsilon}_p^{\\,} = \\overset{\\,}{y}_{p} ,\\quad p=1,...,P\n",
    "\\end{equation}\n",
    "\n",
    "where $\\varepsilon_p$'s can be interpreted as error or noise in the data. With this new notation, the Least Squares cost for linear regression can be written, in terms of $\\varepsilon_p$'s, as  \n",
    "\n",
    "\\begin{equation}\n",
    "\\,g\\left(\\mathbf{w}\\right) = \\frac{1}{P}\\sum_{p=1}^{P}\\left(\\mathring{\\mathbf{x}}_{p}^T\\mathbf{w} - \\overset{\\,}{y}_{p}\\right)^{2} = \\frac{1}{P}\\sum_{p=1}^{P} \\overset{\\,}{\\varepsilon}_p^2\n",
    "\\end{equation}\n",
    "\n",
    "Put into words, with linear regression we aim to find the parameters $w_0$ and $\\mathbf{w}$ that minimize the total squared noise - a quantity that is referred to as *the noise energy* in signal processing contexts.\n",
    "\n",
    "Now one might rightfully ask: what is the point of introducing $P$ new variables $\\left\\{ \\varepsilon_p \\right\\} _{p=1}^{P}$ to our model when their values are unknown to begin with? While it is true that we do not know the exact $\\varepsilon_p$ values, we can nonetheless make assumptions about their distribution that enable us to find $w_0$ and $\\mathbf{w}$ (and $\\varepsilon_p$'s successively) in a probabilistic framework.  Specifically we make the assumption that $\\left\\{ \\varepsilon_p \\right\\} _{p=1}^{P}$ are drawn from a zero-mean Gaussian distribution.  In other words, we assume that the noise is normally distributed with an *expected value* of $0$. Before getting into why this assumption is necessary to make from a theoretical standpoint, let us examine its validity using a number of real regression datasets.  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "s8W43Skm_4ej"
   },
   "source": [
    "#### <span style=\"color:#a50e3e;\">Example 1: </span>  Rising sea levels "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "TzmfvY21_4ej"
   },
   "source": [
    "In the ``Python`` cell below we plot both the Least Squares trend line fit to a dataset [[1]](#bib_cell) consisting of satellite measurements of global mean sea level changes on earth from 1993 to 2014 (left panel), as well as the estimated noise distribution according to the learned trend line (right panel).   "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 225
    },
    "id": "cy1jRsZh_4ej",
    "outputId": "e745182a-7344-43fd-ec34-433d31a7a342"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAEiCAYAAABkykQ1AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAlQJJREFUeJzs3XlYVGX7wPHvnBm2QUAFAQ0TNct9L7LCXdHIXBIVxIVXsUVLs7I0tdLKt8zSXLJw31NLkxcyENMot9Tcl0zNHRBNkJ2ZM78/bM6PkUVEFJf7c13nKmaeOfMcVDj3PM993zqLxWJBCCGEEEIIIW6BUtYTEEIIIYQQQtz7JLAQQgghhBBC3DIJLIQQQgghhBC3TAILIYQQQgghxC2TwEIIIYQQQghxyySwEEIIIYQQQtwyCSyEEEIIIYQQt0wCCyGEEEIIIcQtk8BCCCGEEEIIccsksBCijPj6+tK6deuynoYQQgghRKmQwEKIe9TUqVNZsGBBWU9DCCGEEAKQwEKIe5YEFkIIIYS4m0hgIYQQQgghhLhlElgIcZudOXOGXr164ebmhqurK126dOH48eMFjv322295/vnnefjhh3FwcMDDw4Nu3bqxb98+m3E6nY5Tp06xefNmdDqddvz9998AxMTE0Lt3b2rUqIGTkxPly5enY8eObN68+XZfrhBCCCEeUDqLxWIp60kIcb+6cuUKTZo04cyZM7z00kvUrVuXzZs3s3XrVjIzM6lXrx6bNm3Sxvv7++Pu7k7z5s3x9vbm+PHjfPPNN+Tk5LB7925q1aoFwJIlS3j99dfx8PDg3Xff1V7fvXt3nJ2dCQkJ4eLFizz99NP4+Phw7tw55syZw4ULF/j555/x9/e/098KIYQQQtznJLAQ4jYaM2YMkyZNYt68eYSFhWmPjxgxgmnTptGqVSubwCI9PR1nZ2ebcxw+fJjGjRszaNAgZs2apT3u6+uLr6+vzeuLOk9iYiL16tXjiSeeIDo6unQuUAghhBDiX7IVSojbaO3atXh5edG/f3+bx99+++0Cx1uDAYvFQmpqKsnJyVSqVInHHnuM7du3F/t98wYVaWlpXLp0Cb1ej5+f302dRwghhBCiuCSwEOI2OnHiBLVq1UKv19s8XrlyZcqXL59v/B9//MFzzz2Hi4sLbm5uVKpUiUqVKrF//37++eefYr/v8ePH6dOnDxUqVMDFxQUPDw8qVapEdHT0TZ1HCCGEEKK4DGU9ASHENadPn6Zly5a4uroybtw4HnvsMZydndHpdIwYMYK0tLRinSctLY2WLVuSnp7OiBEjaNCgAS4uLiiKwqRJk9i4ceNtvhIhhBBCPIgksBDiNqpRowbHjh3DbDbbrFpcuHCBK1eu2Ixds2YNaWlprFu3jjZt2tg8d+nSJRwcHGwe0+l0Bb5nXFwc58+fz5fXATB27NhbuBohhBBCiMLJVighbqOuXbuSmJjIokWLbB7/5JNP8o21Bh7X11OIiIggISEh3/hy5cpx+fLlYp8nJiZG8iuEEEIIcdtIVSghbqN//vmHxo0bc+7cOV566SWtvGxB5WaPHz9Ow4YNKV++PMOGDaNChQr89ttvREdHU6FCBUwmk9anAiA8PJy5c+fy7rvvUqdOHRRFoUuXLuTm5lKnTh2ysrJ49dVX8fHxYc+ePSxevJjq1auzf//+fEGHEEIIIcStkhULIW6jChUqEB8fT7du3Vi0aBFvv/02GRkZ/Pzzz/nKwdasWZMff/yR6tWr8/HHH/POO+9w+fJlNm/ejI+PT75zf/TRR3Tv3p2ZM2cSGhpKcHAwFy9epHz58vz000/4+fkxffp03njjDQ4dOkR0dDRNmza9U5cuhBBCiAeMrFgIIYQQQgghbpmsWAghhBBCCCFumQQWQgghhBBCiFsmgYUQQgghhBDilklgIYQQQgghhLhlElgIIYQQQgghbpkEFkIIIYQQQohbZijrCdzNVFXl/PnzuLi4oNPpyno6QghR5iwWC1evXqVKlSooyv332ZT83BdCCFs383NfAosinD9/nqpVq5b1NIQQ4q5z5syZAhs33uvk574QQhSsOD/3JbAogouLC3DtG+nq6lrGsxFCiLKXmppK1apVtZ+Pt2LmzJlMnjyZhIQEGjVqxPTp03niiScKHb9q1SrGjRvH33//Ta1atfjkk0949tlntefT0tJ45513WLt2LZcuXaJ69eq89tprvPTSS8Wek/zcF0IIWzfzc18CiyJYl8FdXV3lF4wQQuRxq9uEvv32W0aOHMns2bPx8/Nj6tSpBAQEcPToUTw9PfON37JlC8HBwUyaNInnnnuOZcuW0a1bN3bv3k39+vUBGDlyJBs3bmTJkiX4+voSExPDK6+8QpUqVXj++edv6rrk574QQtgqzs99ncVisdyBudyTUlNTcXNzIyUlRX7BCCEEpfdz0c/Pj8cff5wZM2YA13Ibqlatyquvvso777yTb3zv3r1JT0/nf//7n/bYk08+SePGjZk9ezYA9evXp3fv3owbN04b06xZMzp37syHH354R69PCCHuFzfzc/H+y7wTQghxV8vJyWHXrl20b99ee0xRFNq3b8/WrVsLfM3WrVttxgMEBATYjH/qqadYt24d586dw2Kx8PPPP/Pnn3/SsWPHQueSnZ1NamqqzSGEEKJkJLAQQghxRyUnJ2M2m/Hy8rJ53MvLi4SEhAJfk5CQcMPx06dPp27duvj4+GBvb0+nTp2YOXMmLVu2LHQukyZNws3NTTskcVsIIUpOAgshhBD3henTp7Nt2zbWrVvHrl27mDJlCkOHDmXDhg2Fvmb06NGkpKRox5kzZ+7gjIUQ4v5yzwYWZrOZcePGUb16dZycnKhZsyYTJ04kb8qIxWJh/PjxVK5cGScnJ9q3b8+xY8fKcNZCCCE8PDzQ6/UkJibaPJ6YmIi3t3eBr/H29i5yfGZmJmPGjOHzzz+nS5cuNGzYkGHDhtG7d28+++yzQufi4OCgJWpLwrYQQtyaezaw+OSTT/jqq6+YMWMGhw8f5pNPPuHTTz9l+vTp2phPP/2UL7/8ktmzZ7N9+3acnZ0JCAggKyurDGcuhBAPNnt7e5o1a0ZcXJz2mKqqxMXF0aJFiwJf06JFC5vxALGxsdr43NxccnNz8zVv0uv1qKpaylcghBCiIPdsudktW7bQtWtXAgMDAfD19WX58uXs2LEDuLZaMXXqVMaOHUvXrl0BWLRoEV5eXqxdu5Y+ffqU2dyFEOJBN3LkSAYMGEDz5s154oknmDp1Kunp6YSFhQHQv39/HnroISZNmgTA8OHDadWqFVOmTCEwMJAVK1awc+dOvvnmG+BaedhWrVrx1ltv4eTkRLVq1di8eTOLFi3i888/L7PrFKIgKSkpZGRk3HCc0WjEzc3tDsxIiNJxzwYWTz31FN988w1//vknjz76KHv37uXXX3/VfoGcPHmShIQEmyoibm5u+Pn5sXXrVgkshBCiDPXu3ZuLFy8yfvx4EhISaNy4MevXr9cStE+fPm2z+vDUU0+xbNkyxo4dy5gxY6hVqxZr167VelgArFixgtGjR9O3b18uX75MtWrV+Oijj26qQZ4Qt1tKSgoTJ84gOTn3hmM9POwYN26YBBfinnHPBhbvvPMOqamp1K5dG71ej9ls5qOPPqJv374AWqWQm6k6kp2dTXZ2tva1lB0UQojbZ9iwYQwbNqzA5zZt2pTvsaCgIIKCggo9n7e3N/Pnzy+t6QlxW2RkZJCcnIuTUw+MxkpFjLtIcvL3ZGRkSGAh7hn3bGCxcuVKli5dyrJly6hXrx579uxhxIgRVKlShQEDBpTonJMmTeKDDz4o5ZkKIYQQQtgyGivh4lK5yDGZmXdoMkKUkns2efutt97inXfeoU+fPjRo0IB+/frx+uuva/txrZVCbqbqiJQdFEIIIYQQomTu2cAiIyOjyOof1atXx9vb26aKSGpqKtu3by+06oiUHRRCCCGEEKJk7tmtUF26dOGjjz7i4Ycfpl69evzxxx98/vnn/Oc//wFAp9MxYsQIPvzwQ2rVqkX16tUZN24cVapUoVu3bmU7eSGEEELcM6SKkxDFc88GFtOnT2fcuHG88sorJCUlUaVKFV588UXGjx+vjRk1ahTp6ekMGTKEK1eu8Mwzz7B+/XocHR3LcOZCCCGEuFdIFSchiu+eDSxcXFyYOnUqU6dOLXSMTqdjwoQJTJgw4c5NTAghhBD3DaniJETx3bOBhRBCCCHEnSJVnIS4sXs2eVsIIYQQQghx95DAQgghhBBCCHHLJLAQQgghhBBC3DIJLIQQQgghhBC3TAILIYQQQgghxC2TwEIIIYQQQghxyySwEEIIIYQQQtwyCSyEEOImmUwmVFUFQFVVTCZTGc9ICCGEKHsSWAghxE0wmUxkZmbaBBaZmZkSXAghhHjgSWAhhBA3wWKxcOXKFQIDAzEajQQGBnLlyhUsFktZT00IIYQoU4aynoAQQtxL9Ho9gwcPJiYmBoA9e/YwZcoUPv/88zKeWR4mEyxeDM2aQcOGZT0bIcRtlpKSQkZGxg3HGY1G3Nzc7sCMxINKAgshhLgJiqIQHx+Pk5MTs2bNIjQ0FIPBoOVaGAz5f6zm5OSg0+nQ6/UoioKqqqiqWuDYW2IywbJlMHEi/PUXdO0Ka9eW7nsIIe4qKSkpTJw4g+Tk3BuO9fCwY9y4YRJciNtGAgshhLgJqqri7+/P4MGD6dixo83jmZmZODk52QQMOTk5ZGVlkZKSwuDBg4mPj8ff358FCxZQqVKl0gkuzGb49lv44AP488//f/yHH2DXrmsrF0KI+1JGRgbJybk4OfXAaKxUxLiLJCd/T0ZGhgQW4raRHAshhLgJqqqyevVqunXrRmpq6g1zLQwGA0ajUds+lZmZSUxMDGFhYSjKLf4IVtVrAUWDBtC3r21QYfX++7f2HkKIe4LRWAkXl8qFHkUFHUKUFgkshBDiJuXk5NjkWliDhfDwcPR6vc1YRVEwGAzEx8fbPB4fH1/ywEJVYfXqa/kTffrA4cMFj3v8cXjllZK9hxBCCHGTJLAQQoiboCgKX3zxhZZrkdf1wYK134XJZMLf399mrL+/v1ayttgsFlizBpo0gaAgOHiw4HFNm0JkJGzfDp0739x7CCGEECUkgYUQQtwERVFYvXq1lmvh6emJn58fnp6e+Pv7YzabbcaazWbS09OZM2cOAQEBGI1GAgICWLhwYfEDC4vlWqDQrBn06AH79hU8rlGja8naO3fCc8+BTnfrFyyEEEIUkyRvCyHETVBVlWnTpnH16lVWrVqF0WjEYDBgMpnIyMiwybFQFIVVq1bRuXNnvLy8iI6ORlEUcnNzi1chymKBH3+E9967FiwUpn79a4nb3brBreZtCCGEECUkv4GEEKKYTCYTZrOZDh06sGPHDq5evUpgYCC+vr688cYbZGdn24xXVZWlS5fyww8/AGA2m8nNzeXSpUt07twZo9FI586dSU5Otu3cbbHATz9BixYQGFh4UFG3LqxcCXv3XlvJkKBCCCFEGZIVCyGEKAaTyURycjKzZ8/m/fffp02bNvTo0YPg4GBCQ0OBaysU1lUIk8lEdnY2M2fO5PDhw2RmZpKZmYmHhwcDBgzQGuzFxMQwcOBAoqOjrwUUcXHXVii2bCl8Mo89dm1Mr15wXbK4EOKa4jSNk4ZxQpQuCSyEEKIYFEVh7969jB07Vtu61KdPH1q1akVcXBx16tQhPDyc+Ph4unTpwvLly+nZsychISH06tULi8XC+PHjmTZtWsFJ37/8AuPHw3XP2XjkkWsBRXCwBBRCFKG4TeOkYZwQpUsCCyGEKAZVValTpw47d+6kefPmAPTu3ZuwsDDmz5/Ps88+q61CJCQkoCgKGzZsICkpiT59+gDw22+/aUnf1rHPANMdHaFNm8LfvEaNa0FH375Q2t26hbgPFadpnDSME6L0yW8oIYQoBkVRGDt2LPPnz0en05GcnIynpyfBwcHo9XqbVYiXX34ZVVVp3749ISEhWvWnp59+GlVViYiI4IugILrs3ElbVYXLlwt+U19fGDcO+vUDO7s7cJVC3F+sTeMKk5l5BycjxAPgns70O3fuHKGhobi7u+Pk5ESDBg3YmSfJ0br1oHLlyjg5OdG+fXuOHTtWhjMWQtyrFEXRgghVVdHpdKiqSocOHWz6VHh6etKzZ09iY2NZvHgxnTt31pK+J06ciPL77xh79OCLHTuuBRUFqVoVvv4ajh6F//xHggohhBD3hHs2sPjnn394+umnsbOz48cff+TQoUNMmTKFChUqaGM+/fRTvvzyS2bPns327dtxdnYmICCArKysMpy5EOJWWRvPAVqi9O0+rzWIsPapOHbsmJZrceLECRYsWEBAQAB16tTBYDAwfPhwjEYjqamp9OzZk8z4eOx79EB56ik8du0qeAIPPQSzZsGxYzBkCNjbl8p1CSGEEHfCPRtYfPLJJ1StWpX58+fzxBNPUL16dTp27EjNmjWBa6sVU6dOZezYsXTt2pWGDRuyaNEizp8/z9q1a8t28kKIErNWZyqyXGsJ5OTkFHlea0CRlpZGeno6DRs2xGAwYDabqVGjBvv27SMyMpJNmzZpZWb1ej2TevXilZ9+wrVdOxzj4gp8b0vlyvDll/DXX/Dyy+DgcEvXIoQQQpSFezawWLduHc2bNycoKAhPT0+aNGlCRESE9vzJkydJSEigffv22mNubm74+fmxdevWAs+ZnZ1NamqqzSGEuLsoiqKVa83MzNTKtSq30MPBZDJhMBiKPK+1oV2/fv2IiYnBaDRiMpnYtWsXBoOB7t274+Pjo219eiQjA6VnT2Zt20annJwC3/eSnR0LGzfGcuwYvPoqODqW+BqEEEKIsnbPBhYnTpzgq6++olatWvz000+8/PLLvPbaayxcuBC4VpUFwMvLy+Z1Xl5e2nPXmzRpEm5ubtpRtWrV23sRQoibpihKweVabyGwsPafKOq81jEbNmxgypQpKIrC8uXLqV27tlbpKSkpCd+0NOxCQnBr2RLWrCnw/ZKAN4Cqubm88uefKM7OJZ67EEIIcbe4ZwMLVVVp2rQpH3/8MU2aNGHIkCGEh4cze/bsEp9z9OjRpKSkaMeZM2dKccZCiNJgvYnPy9/fX9uqVBKKotgkYOc97/U5F/7+/pw8eRKTyURsbCzOzs7ExsYyf9QoNj/0ELN++w3dd98V+D4Wd3fm1KpFdeBzIPO69xBCCCHuZfdsudnKlStTt25dm8fq1KnDd//+Qvf29gYgMTGRypX/v9RcYmIijRs3LvCcDg4OOMjeZiHuamazmTlz5mjN6Pz9/YmIiEBVVfQlbBqnqipxcXFEREQwZMgQjh49SteuXRkzZgyqqmrdtDMzM7X3Xr58OZMnT0Z//Dipzz9P5dxcqlgsBZ7fUqEC5tdfx/TSSwSaTKwOC9PmPn/+fEwmE/aSqC2EuE5OThaJiYlFjklMTCSnkO2WJTkfSEdyUXL3bGDx9NNPc/ToUZvH/vzzT6pVqwZA9erV8fb2Ji4uTgskUlNT2b59Oy+//PKdnq4QopTY2dmxadMmIiMjsbOzIzc3lxUrVtCvX78Cx5tMJm0bk6qqWiWnvFRVpVGjRhw4cIB169ZhMBhsxls5Ojri7e1NdHQ0yokTqG++iWXZMoIKWXG4AkwBGn32GU916oRXxYrs27DBZu4///yzTS6YEEIAZGensm/ffj7+WMVoNBY6LiPjKgcPnqBixSxcXG79fCAdyUXJ3bNboV5//XW2bdvGxx9/zF9//cWyZcv45ptvGDp0KAA6nY4RI0bw4Ycfsm7dOvbv30///v2pUqUK3bp1K9vJCyFKTFVVlixZgo+PD35+fjz00EMsXbq0wO1EN1NByt3dnVatWpGdnW1TatZgMJCbm8vFixd57rnnaOvryx9NmmCpXRtlyRJ0BbzvVUVBHTeO/7RpwzeennTr359PPvkEvV6vJXlb5969e/dbyg+5l82cORNfX18cHR3x8/Njx44dRY5ftWoVtWvXxtHRkQYNGhAdHZ1vzOHDh3n++edxc3PD2dmZxx9/nNOnT9+uSxDitsnNzSQryw5Hx+64u79Y6OHo+CzZ2RZyc4uujFfc8zk59SA5OZeMjIw7dKXifnLP/jZ7/PHHWbNmDcuXL6d+/fpMnDiRqVOn0rdvX23MqFGjePXVVxkyZAiPP/44aWlprF+/HkepvCLEPclkMpGens6cOXNo0qQJBw4coGnTpsyfP7/AwKI4FaSswUdoaCgWi4UrV64QFxfH+fPn6dy5M82bN0dRFEb17s0LMTFsPH+eZvv2oSsop6NcOdQxYwhr1YpFNWowdcECgoODMRgM/PDDD1qORlJSEjt27ODixYsPbI7Ft99+y8iRI3nvvffYvXs3jRo1IiAggKSkpALHb9myheDgYAYNGsQff/xBt27d6NatGwcOHNDGHD9+nGeeeYbatWuzadMm9u3bx7hx4+RnvrinOTl54OJSudDDycm9VM9nNFa6TVciHgT37FYogOeee47nnnuu0Od1Oh0TJkxgwoQJd3BWQojbRVEU+vbtS48ePWy2E+l0unzbm6zj4+Pj8fT0pHr16pw8eTJfBSlFURgyZAivvvoqBoOBN998k6VLl9KjRw/CwsLo6eeHftgw5sbHU1gWhGo0khYWRrnx47nq4MD0jAxeeukl9Ho9kydPRlVVHnvsMY4fP86CBQsIkxwLPv/8c8LDwwkLCwNg9uzZREVFMW/ePN55551846dNm0anTp146623AJg4cSKxsbHMmDFDK9rx7rvv8uyzz/Lpp59qr7P2NhJCFF9xcjEkD0MU5J4OLIQQDw5rr4kN/+YozJgxgxkzZtC8eXMMBkO+/AlrbsWaNWto164dBoMBk8nExo0btYRsuBZYBAUF0ahRIxRFISEhAYPBwNS33sJr3jwsffuCqhYYVGTr9di//jpbnnqKp7p2JS0tDZdy5di2bRurV6/WAp/Lly+zePFiKlasSFxc3AOfY5GTk8OuXbsYPXq09piiKLRv377QPkNbt25l5MiRNo8FBARoDU9VVSUqKopRo0YREBDAH3/8QfXq1Rk9enSR21+zs7PJzs7Wvpb+ReJBV9xcDMnDEAW5Z7dCCSEeLNaSsO3bt2flypVs2bIFX19fAgMD8+VPWLc3nT17loYNG2pjAgMDadCggU2OhaqqhISE8Oqrr2I2m6nt5ob51Vep3qEDzgsWYFfANqVMriVld2/UCN3kyTzZpQuqqlKuXDkURaF79+7UqlWLyMhIdDodHh4eVKxY0aaR3oOcY5GcnIzZbL6pPkMJCQlFjk9KSiItLY3//ve/dOrUiZiYGLp3706PHj3YvHlzoXOR/kVC2CpOLobkYYjCPFi/zYQQ9yxFUVi5ciUrVqygU6dO+Tpl79mzh//+979aBajhw4dTpUoVBg4caJNjERYWZrNtymw2o9fr2b5uHUefe47ZsbHoZ8xAl+dTbI2DAzP1emoAbwK7zp7VVlLyVp7y9/fn/fffp1GjRlpQ07dvX5tGeg96jkVps34Pu3btyuuvv07jxo155513eO6554rsbyT9i4QoWFG5GJKHIQojgYUQ4p6gqioPPfQQjo6OODk5afkTTk5OzJ8/n3PnzjF16lQAmy1NN+rSrb98GfXNNzmSm0vd9evRZWXle2+LvT1nu3ZFPXaMde3aYf1MPSkpiV9//VXbWmUymVBVlblz5xIaGkp4eLgW1KxcuZINGzawcOFCAgICMBqNBAQEsGDBggcusPDw8ECv1+fbw52YmKj1ILqet7d3keM9PDwwGAwF9jcqqiqUg4MDrq6uNocQQoiSkcBCCHFPsH7arygKBoMBs9mMv78/s2bNom3bttrKQHBwMKqq4u3tXXQ37UuXYMwYlJo1UaZMwbGAKk8WOzsSe/TAfOQI6pdfEnvoEBERETaBQe3atbWAwhq0nD17tsCgJiQkBA8PD6Kjo0lPTyc6Olq7IX6Q2Nvb06xZM+Li4rTHrE0KW7RoUeBrWrRoYTMeIDY2Vhtvb2/P448/XmR/IyGEELfXg/XbTAhxV7tRMzvrJ/smk4nMzEzmzZuHl5cXgYGBxMTE4OTkROfOnTGZTEybNo2NGzdq3bStVZgWTp0K48bB9Olw9WrBEzEYWKTX83RUFF5+fihGI+GdOxMfH8+sWbO05Guz2YzFYsFgMJCTk0Pt2rU5d+4c9erV0wKhmJgY7bTW0rV5E8cftPwKq5EjRzJgwACaN2/OE088wdSpU0lPT9eqRPXv35+HHnqISZMmATB8+HBatWrFlClTCAwMZMWKFezcuZNvvvlGO+dbb71F7969admyJW3atGH9+vVERkayadOmsrhEIYR44DyYv9GEEHedGzWzs96Eb968GYPBQL9+/dizZ4/NysDXX3+tJUN7eHjQrl07qlSpQlRUFOnnzvGjnx+efn4oH39cYFChKgqWgQMxHTxIVNeuVGvVymbbVWZmJmFhYfj4+NCqVSv0er0W+BgMBvbt24eXlxdpaWnExsbmW914ELc9FaZ379589tlnjB8/nsaNG7Nnzx7Wr1+vJWifPn2aCxcuaOOfeuoprRFqo0aNWL16NWvXrqV+/framO7duzN79mw+/fRTGjRowJw5c/juu+945pln7vj1CSHEg0gCCyHEXeFGzeysgYU1QXvDhg18+umn2sqAp6cnvXv3JjU1lcDAQFxdXQkJCeHK6dPw4YdQvTq6CRPQFVBO1KIoqKGhqAcPops/n+XbtzNt2jQMBgN6vV7bdmWVlJSEk5MT5jzbpxRF4cUXX0RRFAYOHEj37t3ZuHEjkZGRpKenExUV9UBueyrKsGHDOHXqFNnZ2Wzfvh0/Pz/tuU2bNrFgwQKb8UFBQRw9epTs7GwOHDjAs88+m++c//nPfzh27JiW0N+1a9fbfRlCCCH+JYGFEOK2suYfwLWtTHlLveZlXRXIK2+itfW15cuXx2Qy8cMPP7BhwwZUVSUiIoLw8HAMBgODBw8mJiaGchYLY/V63B9/HP3778OVK/nfVKeDvn3RHTrETyEhGGrXRlVVVq1axaZNm7S5m81m5syZY7P6EBERYbP6oKoqXbt21VZQilrdEEIIIe5HElgIIW5KTk6OTaCQk5NT6NgbbW/KOy7vyoOfnx+enp42pVhVVSUzM5PPPvuM8+fP4+fnR1JSEgCHDx/m/fffR1EUdv3yC2MMBs47OtJg+XJ0ly/nm5dFp4M+feDgQdRFizDVrMnq1atRVZWrV6/y9ddfEx0djaIomM1m7O3t2bRpk7b6YN23b2dnp51TVVXefffdfAnj1tUN2QIlxN3H2mH6woULhR6JiYlF/pwTQvw/+fhMCFFsOTk5XLp0iYEDB3L06FG6du3KmDFjqFChAvb2+XtT593eBGjbm6Kjo7Ux1kRsi8XCypUrcXZ21rpkZ2RkaKVcDQYDTk5OODo6otfrUVWVoKAggoODadu2LTs2beLJPXv4y2ymvMlU8AoFYHnhBUzvvotdkybX3j8nh6ysLD7//HOysrJwcXEhJSWFefPmoSgKf//9N76+vixZsoQ333wTX19fTp48SdOmTenbt6+2omIwGKhYsSIWi4WFCxcycOBALWHcmlvxoCZqC3E3Km6H6YyMqxw8eIKKFbNwcbmDExTiHiSBhRCi2AwGAy+++CLBwcGEhoZqAYDFYilwvHV7k6enJ9WrV+fkyZP5+kgoioLRaGTz5s3UqVOHXr162dyQ5/2Fn3crkfXcv//yCxt796bF+vXoEhMpX8jcf/X05EO9nsceeogxVapQ4d9PIC9fvszRo0e11RFFUWjZsiXHjx8nJycHBwcHrl69WqxgwTo/a0nZwqpbCSHKnm2Had9Cx6nqIbKzp5ObW/A2TiHE/5PfdEKIYlMUhaCgIFq1akVgYOD/l3BduDBfYrK1dOyaNWto166dFoRs3LjR5obcetPdqlUrnn32WZvVjZdeeknbomR9jXaznpHB5GrV6H7kCFUWLix0zpYuXXg9JYXGYWH8L08wZH3fAQMGkJKSwrZt27Qmd6Ghoej1egAOHDhA3bp1+euvv2zKzJrN5kKDhesDIFmpEOLuZe0wXZi0tMRCnxNC2CpWYDFhwoSbPrFOp2PcuHE3/TohxN1LVVWCg4O1vhFQ+Pam5ORkcnJyaNiwoU0QsmDBAkwmk7Z1yprHoNfr8yVv9+zZk0uXLrF3717q1KlDeHg45owMfurdG+W//2XouXOFzjW3Y0fM48bh+MwzNFu82CYY6tKlC8uXL9dWPVxcXLS8j7i4OF577TVUVUWv19OuXTvtej09PfH19cXX15fly5eX9rdXCCGEuKcVK7B4//33b/rEElgIce+4UWM6K7PZjJ2dXZHVm+BasDB8+HCWLl2aLwgJCwuzCUIURSE3NxedTmfTUK5evXqEhIQQEhLC0qVLeb5zZx7esIEP7OzQ//proddi6dgR3YQJ6B9/nN+3bePJAoKhq1evaqsT1vdcsmQJ3bt3p169ehw6dIinn34awKZPRlJSEklJSRw4cEBWIYQQQojrFOs3o/VG42aOvPXdhRB3r5up3PTPP/9o1Zvyylu9Ca4FC1euXLG5KbfKG4RYtyRZtxfNmTOH559/nkWLFrFnzx70ej0Xz5/HsGgRX23cSARQJTe3wOvY4+FB4vffo/vpJ9THH0dRFEJCQrQtS9fPQ1VV4uLitCZ2b775Jr///jteXl60bNkSnU5HdnZ2sa5XCCGEEFJuVogHXt7KTS4uLuj1embMmJHvE3lFUejXrx+LFi3K19Ph+o7Sqqryzjvv3LCEbN4Vkk2bNuHq6sqqVavo0KEDv27ahDp/Psv++AMGDaJaITfyF2rXJjcuDq99+1h8/LjNBxxdu3bFzs7OJjjw9PSkfPnymM1mrWtzVFQUycnJtGnTBovFolWhsrOzw2QysXDhQumgLYQQQtzALSVvnzt3jl9++YWkpCReeOEFfHx8MJvNpKSk4ObmpiU/CiHurOJubYJrN/c7d+5k0aJF9O7dG4PBoL3OZDJpr7PmI+zcuZMtW7YQFRWldaW+PpHZbDbTqlUr4uLi8pWQzczMtJmT9f9r167N3r17eaZFCy5+8QX+332Hcvw43oVdpL8/MU8/Td2hQ9F5e3Pg558ZPny4lq9x9epVxowZg8lkIi4ujrlz53L8+HFatGihvW/FihW5cuUKISEhJCQk4OXlxbRp06hUqZJ2PQaDAQ8PD+16pcqTEEIIUbASrVhYLBZGjhxJ9erV6du3LyNHjuTPP/8EIC0tDV9fX6ZPn16qExVCFE9BW5suX75cYMdr61akZcuW8fzzz5OUlGTzuosXL2qvs37qP2XKFIxGI7/88gsmk0nrKJ23gZSdnR2KonDx4kXS0tIIDAzEaDQSGBhIWloaqqpisVhQVVXbGnVo/36eOn0apWFDGnz6Kfrjxwu8vt+AoPLlMcXF0XbiRKZNm4bBYODixYtcunQJi8VCVlYWGRkZ5ObmYrFYaNSoEa6urjRt2pTExEQ6d+5M/fr1sbe3Z+DAgaxcuZJffvmFVatWERYWpuVfWL+Prq6uhISEcOnSJQkqhLhJKSkpRTagsx4pKSllPVVxE4rTXFD+XB88JfrtOHnyZKZNm8bbb79Nu3bt6NChg/acm5sbPXr04LvvvmPEiBGlNU8hRDHl3drk5OREcHAwFStWtFkdsK4e/PPPP5QvX54OHTpgsVjo1asXe/bsoWHDhuzZs8cm0dpkMrFo0SLc3d2Ji4ujTp06hZactW4T6tWrV77k7YMHD9KiRQucnJyIjY2lbu3aXPr6a9pNnYrh3w8oCmJ54gneNZmYtHs3XLnCwJgYAgMDeeKJJ1BVld69e7NhwwbatGmD2WzG3d1dW33Je/09e/YkJiYGPz+/AitR5c0Bydvcb+XKlaSkpNgkngshipaSksLEiTNITi44NyovDw87xo0bhpub2x2YmbgVxW0uCPLn+qApUWARERFB//79+fjjj7l06VK+5xs2bMiPP/54y5MTQtw865YlgFmzZtG2bdsCAwBFUVi8eDEjR47UtjyFhoYSFRWlBR7WkqzW50+ePImXl5dNCVbIX3LWGlhcnzRdr149WrZsyZUrV3B2cmJZz558Ub48Fc+eLfR60mrXptyUKRyrWZNXXV3ZHRZGfHw83377LZ07d6Z79+788ccfNGrUiDp16tCzZ0+CgoLo06ePVnHKGmDk/d5YV2vyVqKCa4nZhZW/vb76lRCiaBkZGSQn5+Lk1AOjsVIR4y6SnPw9GRkZcgN6Dyhuc0H5c33wlOg35JkzZ3jqqacKfd7Z2ZnU1NQST0oIUXJ5E6ZDQ0MJDw8nJiaGzMxMLQCw3mSvX79eazyXk5ND69atbbYttW7dmpycHLKzs1EUhT59+mhBxvU33UePHtVuuvPmafj7++Pk5MT8+fPZs2cPBr2ehT16YGnWjIVpaYUGFWc9PGDdOhz37cMcEECNmjXZt28fkZGRpKenM3fuXDIyMjAYDHz99dcoikJ4eDiRkZH0798fHx8fxo4di16v13plmEwm2rdvz/z589myZYtWiSpvYnZERIS2siPVoIQoHUZjJVxcKhd6FBV0iLuXtbmg/LkKqxIFFp6enpw5c6bQ53ft2sXDDz9c4kkJIUpOVVXmzJnDunXr8gUAnp6eZGVlaTf9derUwWw2oygKer2ewYMH2wQhb731llYdSVVVHnvsMdasWWNz020NGo4dO6a9f05ODiaTibS0NObOncu6devo3q0buqgoFD8/3vrtN3R79hQ4/9y6dclduRLDvn2YOnfG8O97GwwGunfvjo+PD35+fjRu3BhHR0fMZjMvvfSSzWoEXOs58euvv2orLmazmfT0dBYvXkyPHj2069q0aZMWrERGRrJp0ybteqUalBBCCFF8JQosevTowezZszlx4oT2mE6nA65tiViwYAFBQUGlM8Ni+u9//4tOp7PJ68jKymLo0KG4u7tTrlw5XnjhBRITE+/ovIS40xRFwWKx4OvrqzWAs978nzt3jk2bNmkVn959910tyCho609CQoJWetVkMjFnzhwqVKhAWlqa9kn/119/rW2NMhqNxMbG8s8//6AoCqGhofy+Ywets7JwbN0afbdusGtXgfO21KtH8ldfkfnbb1i6dsW5XDlt5cDa58Lf35+kpCR27NiBi4sLBoOB48ePU6tWrQJXGLy9vVFVlZ07d2Jvb09cXBxGo1ELrkwmE0uWLNGClYceeoilS5dqgYyHhwfR0dGkp6cTHR2t5ZAIIYQQIr8SBRYffPABlStXpnHjxvTv3x+dTscnn3zCM888Q+fOnWnYsCFjxowp7bkW6vfff+frr7+mYcOGNo+//vrrREZGsmrVKjZv3sz58+fp0aPHHZuXEGVBVVV8fHwIDw/n+PHjLFiwgLVr12q5FnkrRZUvX56MjAyysrKKvDFXFAV7e3u2bdtG27ZtCQ0NJS4ujsjISPr27autdLi4uNCuXTs+/vhjDHo9r9WpQ7dPP8XQpQsOe/cWON8jOh29gbUffEDFIUMI7d+fH374AQcHB5uE8w0bNmjN7IxGI76+vqiq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BgohhBBCCCEE0iBPCCGEEEIIUQoksBBCCCGEEELcMgkshBBCCCGEELdMAotC/PLLL3Tp0oUqVaqg0+lYu3atzfOJiYkMHDiQKlWqYDQa6dSpE8eOHbMZc/z4cbp3706lSpVwdXWlV69e+Ro8Xb58mb59++Lq6kr58uUZNGgQaWlp98W1+fr6otPpbI7//ve/t/XaJk2axOOPP46Liwuenp5069aNo0eP2ozJyspi6NChuLu7U65cOV544YV8cz99+jSBgYEYjUY8PT156623MJlMNmM2bdpE06ZNcXBw4JFHHmHBggX3xbVt2rQp35+bTqcjISHhrr6u1157jWbNmuHg4FBoQ7R9+/bh7++Po6MjVatW5dNPP70t12R1p67t77//LvDPbNu2bbfz8u5bH330EU899RRGo5Hy5csXOKag7/eKFSvu7ESLUJxrKM7PubtNWfxeKQ0zZ87E19cXR0dH/Pz82LFjR1lP6aa8//77+b7vtWvXLutpFelG9zoWi4Xx48dTuXJlnJycaN++fb57nbvBja5j4MCB+f5sOnXqVDaTRQKLQqWnp9OoUSNmzpyZ7zmLxUK3bt04ceIEP/zwA3/88QfVqlWjffv2pKena6/v2LEjOp2OjRs38ttvv5GTk0OXLl1QVVU7V9++fTl48CCxsbH873//45dffmHIkCH3xbUBTJgwgQsXLmjHq6++eluvbfPmzQwdOpRt27YRGxtLbm4uHTt21OYO8PrrrxMZGcmqVavYvHkz58+fp0ePHtrzZrOZwMBAcnJy2LJlCwsXLmTBggWMHz9eG3Py5EkCAwNp06YNe/bsYcSIEQwePJiffvrpnr82q6NHj9r82Xl6et6112X1n//8h969exf4PqmpqXTs2JFq1aqxa9cuJk+ezPvvv6/1QbiXr81qw4YNNn9mzZo1K/VrehDk5OQQFBRUZGM9gPnz59t8v++mfhk3uoab+Vlwt7nTv1du1bfffsvIkSN577332L17N40aNSIgIICkpKSyntpNqVevns33/ddffy3rKRWpqHsdgE8//ZQvv/yS2bNns337dpydnQkICCArK+sOz7RoN7oOgE6dOtn82SxfvvwOzvA6FnFDgGXNmjXa10ePHrUAlgMHDmiPmc1mS6VKlSwREREWi8Vi+emnnyyKolhSUlK0MVeuXLHodDpLbGysxWKxWA4d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ubkZERERA9BzIiIior7hNRZEZmBtbY2oqCgcP34c1dXVyvSysjKcPn3aoB0APDqmQmNjI9LT07stc/jw4WhoaOg2/dVXX0VBQYHBcrs0NDSgo6PDmChEREREPeKoUERmUlJSAq1WCw8PD8TFxaGjowN79+6Fp6cnSkpKICIoLy9HcHAwgoKCEBMTg+bmZhw8eBBOTk64cuUKdDodxowZAwCIj49HWloatm/fjnHjxsHDwwNz585FS0sLZs+ejZKSEqxcuRIhISG4f/8+SktL8f333+PGjRtQq9WWXRlERET0n8PCgsiM8vPzsW7dOpSWlmLUqFFISEhATU0Ntm3bpnxLcfLkSWzatAm///47vLy8EBsbC41Gg7ffftugsKirq8OqVauQn5+PpqYmhIeHK0PPNjc3Y8eOHcjMzER1dTWcnZ0RGBiIpUuXYs2aNbCxsbHQGiAiIqL/KhYWRERERERkNF5jQURERERERmNhQURERERERmNhQURERERERmNhQURERERERmNhQURERERERmNhQURERERERmNhQURERERERmNhQURERERERmNhQURERERERmNhQURERERERmNhQURERERERmNhQURERERERmNhQURERERERvsfv4ymCgomcQ0AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 800x300 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# load in dataset\n",
    "data = np.loadtxt(data_path_1, delimiter = ',')\n",
    "\n",
    "# produce demo\n",
    "demo = section_5_7_helpers.visualizer(data)\n",
    "\n",
    "# solve Least Squares \n",
    "demo.run_algo(algo='newtons_method', w_init = np.random.randn(2,1), max_its = 1)\n",
    "\n",
    "# visualize results\n",
    "demo.error_hist(num_bins=30, xlabel='date', ylabel='sea level', show_pdf='on')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "FOeNvFDT_4ek"
   },
   "source": [
    "#### <span style=\"color:#a50e3e;\">Example 2: </span> The relationship between the height of mother and the height of daughter "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ZaqIe7W6_4ek"
   },
   "source": [
    "As another example let us look at Francis Galton's height dataset, who collected this data in 1885 in an attempt to explore the relationship between the heights of the parents and the heights of their adult children. In ``Python`` cell below we plot the portion of Galton's dataset [[2]](#bib_cell) which connects the height of the mother (input) to the height of her daughter (output), once again plotted along with the error distribution on the right.  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 225
    },
    "id": "VhM6qWEO_4ek",
    "outputId": "09beca2c-c012-4824-ae98-52d9a6a80931"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 800x300 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# load in dataset\n",
    "data = np.loadtxt(data_path_2, delimiter = ',')\n",
    "\n",
    "# produce demo\n",
    "demo = section_5_7_helpers.visualizer(data)\n",
    "\n",
    "# solve Least Squares\n",
    "demo.run_algo(algo='newtons_method', w_init = np.random.randn(2,1), max_its = 1)\n",
    "\n",
    "# visualize results\n",
    "demo.error_hist(num_bins = 30, xlabel='height of mother', ylabel='height of daughter', show_pdf='on')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "79WkTgJm_4el"
   },
   "source": [
    "In both cases as you can see it looks like that the noise does follow a zero-mean Gaussian distribution, and hence our assumption is not far-fetched.\n",
    "\n",
    "Since we have $\\overset{\\,}{y}_{p} = \\mathring{\\mathbf{x}}_{p}^T\\mathbf{w} +\\varepsilon_p$ for all $p$, this means that, given the values of $\\mathbf{x}_{p}$ and $\\mathbf{w}$, each $y_p$ is also Gaussian with the same variance as the noise distribution - which we denote by $\\sigma^2$ - and a (shifted) mean value of $\\mathring{\\mathbf{x}}_{p}^T\\mathbf{w}$. Hence, with our first assumption, we have\n",
    "\n",
    "\\begin{equation}\n",
    "{\\cal P}\\left(y=y_{p}\\,|\\,\\mathbf{x}_{p},\\mathbf{w}\\right)=\\frac{1}{\\sqrt{2\\pi}\\,\\sigma}e^{\\,\\frac{-1}{2\\sigma^{2}}\\left( \\mathring{\\mathbf{x}}_{p}^T\\mathbf{w} - y_p\\right)^{2}} ,\\quad p=1,...,P\n",
    "\\end{equation}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "5l0OOHl8_4el"
   },
   "source": [
    "Note: to derive the Least Absolute Deviations cost discussed in Section 8.2 we need only make a small change here: instead of a Gaussian distribution we use an *exponential* one."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "JZMjlmJw_4el"
   },
   "source": [
    "###   Assumption 3: statistical independence"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "lsaNhJy9_4el"
   },
   "source": [
    "This brings us to the second theoretical assumption we make here, that $\\left\\{ y_p \\right\\} _{p=1}^{P}$ are statistically independent of each other.  In many cases it makes intuitive sense to assume that our observations are (or can be) made independently of one another other, as long as there is no temporal, spatial, or other kind of correlation in the data. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "-78IuO27_4em"
   },
   "source": [
    "With these three assumptions we can now form the (joint) likelihood of our data and maximize it to recover model parameters.  Specifically, using the independence assumption we can write the likelihood as\n",
    "\n",
    "\\begin{equation}\n",
    "{\\cal L}=\\prod_{p=1}^{P}{\\cal P}\\left(y=y_{p}\\,|\\,\\mathbf{x}_{p},\\mathbf{w}\\right)\n",
    "\\end{equation}  \n",
    "\n",
    "Recall, as discussed in our series on *the fundamentals of probability and statistics*, that maximizing the likelihood is mathematically equivalent to minimizing its negative log-likelihood, giving the probabilistic cost function\n",
    "\n",
    "\\begin{equation}\n",
    "g\\left(\\mathbf{w},\\sigma\\right)=-\\sum_{p=1}^{P}\\text{log}\\,{\\cal P}\\left(y=y_{p}\\,|\\,\\mathbf{x}_{p},\\mathbf{w}\\right)\n",
    "\\end{equation}  \n",
    "\n",
    "to be minimized over $\\mathbf{w}$, and the noise standard deviation $\\sigma$. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "V777fkWF_4em"
   },
   "source": [
    "Our second assumption on the distribution of noise makes it possible to write the exact form of $g$, with some algebra, as \n",
    "\n",
    "\\begin{equation}\n",
    "g\\left(\\mathbf{w},\\sigma\\right)=P\\,\\text{log}\\left(\\sqrt{2\\pi}\\,\\sigma\\right)+\\frac{1}{2\\sigma^{2}}\\sum_{p=1}^{P} \\left(  \\mathring{\\mathbf{x}}_{p}^T\\mathbf{w}-y_p\\right)^{2}.\n",
    "\\end{equation}  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "rF5Escdx_4em"
   },
   "source": [
    "Checking the first order condition for optimality we have\n",
    "\n",
    "\\begin{equation}\n",
    "\\begin{array}{c}\n",
    "\\nabla_{{\\mathbf{w}}}g\\left({\\mathbf{w}},\\sigma\\right)= \\frac{1}{\\sigma^{2}}\\sum_{p=1}^{P}  \\mathring{\\mathbf{x}}_{p}^{\\,}\\left(\\mathring{\\mathbf{x}}_{p}^T\\mathbf{w} - y_p \\right)=\\mathbf{0} \\\\\n",
    "\\frac{\\partial}{\\partial\\sigma}g\\left({\\mathbf{w}},\\sigma\\right)= \\frac{P}{\\sigma}-\\frac{1}{\\sigma^{3}}\\sum_{p=1}^{P} \\left( \\mathring{\\mathbf{x}}_{p}^T\\mathbf{w} - y_p\\right)^{2}=0\n",
    "\\end{array}\n",
    "\\end{equation}\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "NVaoNbPh_4em"
   },
   "source": [
    "The first equation gives the linear system \n",
    "\n",
    "\\begin{equation}\n",
    "\\left(\\sum_{p=1}^{P}  \\mathring{\\mathbf{x}}_{p}^{\\,} \\mathring{\\mathbf{x}}_{p}^T \\right) \\mathbf{w}_{\\,}^{\\,} =  \\sum_{p=1}^{P}  \\mathring{\\mathbf{x}}_{p}^{\\,} \\overset{\\,}{y}_p^{\\,}\n",
    "\\end{equation}\n",
    "\n",
    "whose solution $\\widetilde{\\mathbf{w}}^\\star$ can be used in the second equation to find the optimal value for the noise variance, as\n",
    "\n",
    "\\begin{equation}\n",
    "\\sigma^2 = \\frac{1}{P}\\sum_{p=1}^{P} \\left( \\mathring{\\mathbf{x}}_{p}^{\\,}\\mathbf{w}^{\\star} - {y}_p^{\\,}\\right)^{2}\n",
    "\\end{equation}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "QuAV-Hee_4em"
   },
   "source": [
    "Note that the linear system characterizing the fit here is identical to what we derived previously in Subsection 1.3, where interestingly enough, we found the same solution through minimizing the Least Squares cost and without making any of the statistical assumptions made here.   "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "oLzpGL7X_4en"
   },
   "source": [
    "> The maximum likelihood solution derived here using the assumptions on noise distribution and independence of data is identical to the Least Squares solution derived previously from a geometric perspective."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "-uF022YR_4en"
   },
   "source": [
    "Even though it was necessary to assume a Gaussian distribution on the noise in order to re-derive the Least Squares solution from a probabilistic perspective, in practice we can still use Least Squares on datasets where the noise distribution is not necessarily Gaussian.   "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "aFKn0kK0_4en"
   },
   "source": [
    "#### <span style=\"color:#a50e3e;\">Example 3: </span> Least Squares and uniformly distributed noise"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ks6NgW8Q_4en"
   },
   "source": [
    "In the ``Python`` cell below we create a simulated dataset with uniformly distributed noise and fit a Least Squares line to it as we did previously in Examples 6 and 7. As you can see, the Least Squares solution still provides a good fit to the data even though the assumption of Gaussian distribution on noise is not met. The right panel here shows the distribution of noise (according to the learned Least Squares fit), which is visibly not Gaussian."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 225
    },
    "id": "ZPA1C6YF_4en",
    "outputId": "56580b6c-9488-4c19-f0e6-4d0f92c691dc"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 800x300 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# make and load a simulated dataset with uniformly distributed noise\n",
    "num_pts = 200\n",
    "x = np.random.rand(num_pts)\n",
    "y = 4*x + np.random.rand(num_pts) \n",
    "x.shape = (len(x),1)\n",
    "y.shape = (len(y),1)\n",
    "data = np.concatenate((x,y),axis = 1)\n",
    "\n",
    "# produce demo\n",
    "demo = section_5_7_helpers.visualizer(data)\n",
    "\n",
    "# solve Least Squares\n",
    "demo.run_algo(algo='newtons_method', w_init = np.random.randn(2,1), max_its = 1)\n",
    "\n",
    "# visualize results\n",
    "demo.error_hist(num_bins = 30)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "dxidgn-y_4en"
   },
   "source": [
    "<a id='bib_cell'></a>\n",
    "\n",
    "### Data sources\n",
    "\n",
    "[1] RS Nerem, DP Chambers, C Choe, and GT Mitchum. Estimating mean sea level change from the topex and jason altimeter missions. Marine Geodesy, 33(S1):435–446, 2010.\n",
    "\n",
    "[2] Data taken from https://www.statcrunch.com/5.0/shareddata.php?keywords=Galton"
   ]
  }
 ],
 "metadata": {
  "colab": {
   "include_colab_link": true,
   "provenance": []
  },
  "kernelspec": {
   "display_name": "venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.15"
  },
  "toc": {
   "colors": {
    "hover_highlight": "#DAA520",
    "navigate_num": "#000000",
    "navigate_text": "#333333",
    "running_highlight": "#FF0000",
    "selected_highlight": "#FFD700",
    "sidebar_border": "#EEEEEE",
    "wrapper_background": "#FFFFFF"
   },
   "moveMenuLeft": true,
   "nav_menu": {
    "height": "49px",
    "width": "252px"
   },
   "navigate_menu": true,
   "number_sections": false,
   "sideBar": true,
   "threshold": 4,
   "toc_cell": false,
   "toc_section_display": "block",
   "toc_window_display": false,
   "widenNotebook": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
